package com.qijian.production.domain;

import java.math.BigDecimal;
import com.qijian.common.enums.ApprovalDescriptionEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;

/**
 * 工单工艺物料需求对象 sc_work_order_craft_item
 *
 * @author zhangcheng
 * @date 2025-03-26
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("sc_work_order_craft_item")
public class ScWorkOrderCraftItem extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "id")
    private Long id;

    @Excel(name = "工单详情id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工单详情id")
    private Long orderDetailId;

    @Excel(name = "工单id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工单id")
    private Long orderId;

    @Excel(name = "main_line_process_item id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "main_line_process_item id")
    private Long demandId;

    @Excel(name = "线路ID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "线路ID")
    private Long lineId;

    @Excel(name = "线路编码")
    @ApiModelProperty(value = "线路编码")
    private String lineCode;

    @Excel(name = "line_process表ID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "line_process表ID")
    private Long lineProcessId;

    @Excel(name = "工序ID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "工序ID")
    private Long processId;

    @Excel(name = "工序编号")
    @ApiModelProperty(value = "工序编号")
    private String processCode;

    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "${column.columnComment}")
    private Integer sort;

    @Excel(name = "BOM")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "BOM")
    private Long bomId;

    @Excel(name = "物料ID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "物料ID")
    private Long itemId;

    @Excel(name = "物料编码")
    @ApiModelProperty(value = "物料编码")
    private String itemCode;

    @Excel(name = "物料名称")
    @ApiModelProperty(value = "物料名称")
    private String itemName;

    @Excel(name = "物料规格")
    @ApiModelProperty(value = "物料规格")
    private String itemSpec;

    @Excel(name = "物料单位")
    @ApiModelProperty(value = "物料单位")
    private String itemUnits;

    @Excel(name = "数量")
    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

}
